草庐IT

Swift 枚举评估

全部标签

c++ - C和C++中枚举的用途是什么

枚举是常量整数值的列表。它可以用来代替使用#define定义常量值。但除此之外,我还没有发现枚举在C和CPP中有任何实质性用途。谁能告诉我枚举的确切用途是什么。最初我认为如果我们创建一个枚举变量并分配一个不在枚举值中的值,编译器会大喊大叫。但事实并非如此。我们可以为枚举变量分配任何值。我想不出枚举的任何实质性用途。 最佳答案 枚举在编程中非常有用,因为它们使您的代码更具可读性和一致性。例如:假设我们有以下switch语句:switch(fruit){case1://codegoesherebreak;case2://codegoes

c++ - 在类中使用枚举时,它会是公开的吗?为什么?

我正在为我正在学习的类(class)使用枚举,我正在使用Google查找示例以确保我正确使用了枚举。我去了几个网站,包括MSDN网站,枚举列在公共(public)而不是私有(private)下。我一直认为数据成员是私有(private)的。我偏离基地了吗?如果是,为什么? 最佳答案 枚举是一种类型,而不是数据成员。如果类的用户需要知道它,你应该公开它;否则,将其设为私有(private)。用户需要了解它的典型情况是将其用作公共(public)成员函数的参数类型。 关于c++-在类中使用枚

c++ - 在 C++ 中,当我需要使用枚举时,如何避免#include 头文件?

在我的C++头文件中,我尝试使用前向声明(classMyClass;)而不是#including类头,正如许多C++编码标准(谷歌C++风格指南就是其中之一)所推荐的那样。不幸的是,当我引入枚举时,我不能再做前向声明了。像这样:////myclass1.hpp////classMyClass1{enumMyEnum1{Enum_A,Enum_B,Enum_C};};////myclass2.hpp//////Iwanttoavoidthis#include"myclass1.hpp"//I'dprefertodothis(forwarddeclaration)classMyClass1

c++ - 枚举值的行为是否像全局变量?

我有两个枚举,如果一个枚举中有一个值与另一个枚举中的值同名:enumA{joe,bob,doc};enumB{sunday,monday,doc};编译器(VisualStudio的)提示doc的重新定义,这意味着它将其视为全局变量。是这样吗?这不是我所期望的行为,它迫使我管理项目中所有枚举元素的名称。任何见解都会有所帮助。 最佳答案 它不被视为全局变量。它被视为全局标识符。更准确地说,它被视为声明enum的任何命名空间中的标识符。在您的情况下,这是全局命名空间。要了解全局标识符和全局变量之间的区别,请尝试获取枚举的地址。;)通常,

如何使用函数来调用按钮而不是按下它(swift3)

我希望能够在函数使用中调用函数启动,而无需点击动作按钮以开始。我知道要做的简单的事情就是将打印(“a”)放在使用中。但是我以此为例,因为我有一个更复杂的问题。@IBActionfuncstart(_sender:Any){print("a")}funuse(){}viewdidload(){use()}看答案创建一个IBOutlet对于您的按钮:@IBOutletweakvarbutton:UIButton!然后,简单地使用此代码触发其操作:button.sendActions(for:.touchUpInside)

Swift 4:如何使用ios11视觉框架从面部地标点创建面部图

我正在使用iOS11视觉框架实时产生面部标志性点。我能够通过面部标志性点的UibezierPath来获取面部标记点,并覆盖相机层。但是,我想获得右下图的东西。目前,我有一些看起来像左图的东西,我尝试循环浏览这些点并添加中点,但是我不知道如何从这些点中生成所有这些三角形。我将如何从左侧点从右侧生成地图?我不确定我是否可以使用所有的要点,并不是说它会有所帮助,但是我也有整个脸部边界框的要点。最后,是否有任何框架可以让我识别我需要的所有要点,例如OpenCV或其他内容,请告诉我。谢谢!这是我一直在使用的代码https://github.com/droidsonroids/visionfacedete

c++ - 为什么 C++ 不为枚举类型提供默认的 "operator>>"函数?

我发现C++提供了默认的operatorenum的函数类型:#includeusingnamespacestd;enumOpType{Select,Insert};intmain(){OpTypet=Select;cout运行结果为:0虽然不提供默认operator>>功能:#includeusingnamespacestd;enumOpType{Select,Insert};intmain(){OpTypet=Select;cin>>t;return0;}构建它会产生以下编译错误:prog.cpp:Infunction‘intmain()’:prog.cpp:11:6:error:n

c++ - C++11 基于范围的 for 循环条件是否在每个循环中都得到评估?

for(auto&entity:memoryManager.getItems())entity->update(mFrameTime);如果memoryManager包含1000个项目,是否memoryManager.getItems()在循环开始时被调用1000次还是只调用一次?编译器是否使用-O2(或-O3)运行任何优化?(memoryManager.getItems()返回一个std::vector&) 最佳答案 它只被评估一次。该标准将基于范围的for语句定义为等同于:{auto&&__range=range-init;fo

Java将枚举类转为json返回给前端

Java将枚举类转为json返回给前端1.后端将枚举类直接返回给前端时只会显示枚举名称2.使用@JsonFormat注解可以将枚举类转为json再返回给前端。2.1添加maven依赖2.2在枚举类上添加@JsonFormat(shape=JsonFormat.Shape.OBJECT)2.3编写接口返回给前端1.后端将枚举类直接返回给前端时只会显示枚举名称后端经常会使用到枚举类,想让前端知晓这个枚举类中常量的含义,要将其返回给前端。直接返回枚举类的话,前端只会显示枚举名称,不是很友好。2.使用@JsonFormat注解可以将枚举类转为json再返回给前端。2.1添加maven依赖depende

javascript - 从 node.js 中的扫描图像评估复选框

我想从扫描图像中评估复选框是否被选中。我发现像node-dv这样的Node模块和node-fv为了这。但是什么时候安装这个我在mac上遇到了以下错误。../deps/opencv/modules/core/src/arithm1.cpp:444:51:error:constantexpressionevaluatesto4294967295whichcannotbenarrowedtotype'int'[-Wc++11-narrowing]staticintCV_DECL_ALIGNED(16)v64f_absmask[]={0xffffffff,0x7fffffff,0xffffff